package com.gopay.remote.bank;

import com.gopay.common.domain.bank.BcdlMessage;
import com.gopay.common.domain.bank.BcdlResult;
import com.gopay.common.domain.bank.bcdl.BcdlPacket;
import com.gopay.common.domain.bank.bcdl.BcdlPacketRes;

/**
 * 银企直连操作远程接口
 * 
 * BCDLInteractRemoteService.java
 * @author WangHongFei
 */
public interface BcdlInteractRemoteService {

    /**
     * 银企直连转账类请求
     * 
     * @param BcdlMessage
     * @return Result
     */
    public BcdlResult eft(BcdlMessage base);
    
    public BcdlResult sendBank(BcdlMessage base);
    public BcdlResult sendBankPacket(BcdlPacket bcdlPacket);
    /**
     * 银企直连查询类请求
     * 
     * @param BcdlMessage
     * @return Result
     */
    public BcdlResult query(BcdlMessage base);
    
    /**
     * 银企直连批量查询类请求
     * 
     * @param BcdlMessage
     * @return Result
     */
    public BcdlPacketRes queryPacket(BcdlPacket bcdlPacket);
    
    /**
     * 银企直联查询当前余额请求
     * 
     * @param base
     * @return
     */
    public BcdlResult queryBalance(BcdlMessage base);
    
    /**
     * 发送银行查询当前余额请求
     * 
     * @param base
     * @return
     */
    public BcdlResult sendBankQueryBalance(BcdlMessage base);
    
/**
     * 银企直连转账类请求重试
     * 
     * @param BcdlMessage
     * @return Result
     */
    public BcdlResult eftRetry(BcdlMessage base);

    /**
     * 银企直连查询网银明细
     * 
     * @param base
     * @return
     */
    public BcdlResult queryAcctDetail(BcdlMessage base);
}
